package com.example.everying.constant;

import lombok.Getter;

/**
 * 评价角色枚举
 * 标识评价的方向关系
 */
@Getter
public enum RatingRole {
    /**
     * 发布者评价参与者
     * 活动创建者(发布者)对活动参与者(申请者)的评价
     */
    PUBLISHER_TO_PARTICIPANT(1),

    /**
     * 参与者评价发布者
     * 活动参与者(申请者)对活动创建者(发布者)的评价
     */
    PARTICIPANT_TO_PUBLISHER(2);

    private final int code;

    RatingRole(int code) {
        this.code  = code;
    }

    /**
     * 根据code获取枚举
     */
    public static RatingRole fromCode(int code) {
        for (RatingRole role : values()) {
            if (role.code  == code) {
                return role;
            }
        }
        throw new IllegalArgumentException("无效的评价角色编码: " + code);
    }
}
